const libtable = require('../../libs/table.js');
const table = 'catalog_table';
const fields = [{ title: '标题', name: 'title', type: 'text' }];
const page_type = 'catalog';

module.exports = libtable(fields, table, page_type);

// const Router = require('koa-router');
// const router = new Router();

// // 分类管理模块
// const table = 'catalog_table';
// const fields = [
//     { title: '标题', name: 'title', type: 'text' }
// ];
// // 页面归属
// const page_type = 'catalog';
// // 页面集合mapping
// const page_types = { 
//     'banner': 'banner管理', 
//     'catalog': '类目管理', 
//     'article': '文章管理' 
// }


// router.get('/', async ctx => {
//     let { HTTP_ROOT } = ctx.config;
//     let datas = await ctx.db.query(`select * from ${table}`);
//     await ctx.render('admin/table', {
//         HTTP_ROOT,                              // localhost:8080
//         page_type,
//         page_types,
//         datas,                                  // 数据库中的数据
//         fields                                  // 需要增加表单字段
//         // action: `${HTTP_ROOT}/admin/banner`     // submit 提交的地址
//     })
// })

// // 处理提交数据(普通表单, 文件上传)
// router.post('/', async ctx => {
//     const { HTTP_ROOT } = ctx.config;
//     // 1. 存储需要提交的表单字段, 根据定义的fields
//     let keys = [];
//     // 2. 存储表单的值(普通field和文件file) 使用数组就是方便遍历
//     let vals = [];
//     // 3. 遍历需要提交的表单字段
//     fields.forEach(item => {
//         const { name, type } = item;
//         keys.push(name);
//         if (type == 'file') {
//             vals.push(path.basename(ctx.request.fields[name][0].path));
//         } else {
//             vals.push(ctx.request.fields[name]);
//         }
//     })
//     // console.log(`insert into ${table} (${keys.join(',')}) 
//     //     values(${keys.map(key => '?').join(',')})`);
//     await ctx.db.query(`insert into ${table} (${keys.join(',')}) 
//         values (${keys.map(key => '?').join(',')})`, vals);
//     ctx.redirect(`${HTTP_ROOT}/admin/${page_type}`);
// })



// // 删除类目(点击某个类目表格条目右侧的删除按钮)
// router.get('/delete/:id', async ctx => {
//     let { id } = ctx.params;
//     // 获取上传目录(从config)
//     let { UPLOAD_DIR, HTTP_ROOT } = ctx.config;
//     // // 从db中根据id获取记录的信息,然后删除记录和文件
//     let data = await ctx.db.query(`select * from ${table} where ID = ?`, [id]);
//     ctx.assert(data.length, 400, 'no data');
//     let row = data[0];
//     fields.forEach(async ({ name, type }) => {
//         if (type == 'file') {
//             await common.unlink(path.resolve(UPLOAD_DIR, row[name]));
//         }
//     })

//     // 删除文件
//     await ctx.db.query(`delete from ${table} where id = ?`, [id]);
//     ctx.redirect(`${HTTP_ROOT}/admin/${page_type}`);
// })

// // 获取类目 前端接口请求, 实现的是点击修改按钮, 返回原始数据的功能
// router.get('/get/:id', async ctx => {
//     let { id } = ctx.params;
//     let rows = await ctx.db.query(`select * from ${table} where id = ?`, [id]);
//     if (rows.length == 0) {
//         ctx.body = { err: 1, msg: 'no this data'};
//     } else {
//         ctx.body = { err: 0, msg: 'success', data: rows[0] };
//     }
// })
// // 修改类目  先获取原有的值
// router.post('/modify/:id', async ctx => {
//     let { HTTP_ROOT } = ctx.config;
//     const post = ctx.request.fields;
//     let { id } = ctx.params;
//     let rows = await ctx.db.query(`select * from ${table} where id = ?`, [id]);
//     ctx.assert(rows.length, 400, 'no this data');

//     let keys = ['title'];
//     let vals = [];
//     keys.forEach(key => {
//         vals.push(post[key]);
//     })
//     await ctx.db.query(`update ${table} set ${
//         keys.map(key => (`${key} = ?`)).join(',')
//     } where id = ?`, [...vals, id]);
//     ctx.redirect(`${HTTP_ROOT}/admin/${page_type}`);

// })


// module.exports = router.routes();